home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / perl5 / Glib / ParamSpec.pod < prev    next >
Text File  |  2009-04-29  |  10KB  |  547 lines

  1. =head1 NAME
  2.  
  3. Glib::ParamSpec -  Wrapper to encapsulate metadate needed to specify parameters
  4.  
  5. =cut
  6.  
  7. =head1 HIERARCHY
  8.  
  9.   Glib::ParamSpec
  10.  
  11.  
  12.  
  13. =cut
  14.  
  15. =for object Glib::ParamSpec Wrapper to encapsulate metadate needed to specify parameters
  16.  
  17. void
  18. DESTROY (GParamSpec * pspec)
  19.     CODE:
  20.     g_param_spec_unref (pspec);
  21.  
  22. =for position DESCRIPTION
  23.  
  24. =head1 DESCRIPTION
  25.  
  26. Glib::ParamSpec encapsulates the metadata required to specify parameters.
  27. You will see these most often when creating new Glib::Object types; see
  28. C<< Glib::Type->register >> and L<Glib::Object::Subclass>.
  29.  
  30. Parameter specifications allow you to provide limits for validation as 
  31. well as nicknames and blurbs to document the parameters.  Blurbs show up
  32. in reference documentation such as this page or the gtk+ C API reference;
  33. i'm not really sure where the nicknames get used.  The Perl bindings for
  34. the most part ignore the difference between dashes and underscores in
  35. the paramspec names, which typically find use as the actual keys for 
  36. object parameters.
  37.  
  38. It's worth noting that Glib offers various sizes of integer and floating
  39. point values, while Perl really only deals with full integers and double
  40. precision floating point values.  The size distinction is important for
  41. the underlying C libraries.
  42.  
  43. =cut
  44.  
  45.  
  46.  
  47.  
  48. =head1 METHODS
  49.  
  50. =head2 paramspec = Glib::ParamSpec-E<gt>B<IV> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  51.  
  52. =over
  53.  
  54. =item * $name (string) 
  55.  
  56. =item * $nick (string) 
  57.  
  58. =item * $blurb (string) 
  59.  
  60. =item * $minimum (integer) 
  61.  
  62. =item * $maximum (integer) 
  63.  
  64. =item * $default_value (integer) 
  65.  
  66. =item * $flags (Glib::ParamFlags) 
  67.  
  68. =back
  69.  
  70. =head2 paramspec = Glib::ParamSpec-E<gt>B<UV> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  71.  
  72. =over
  73.  
  74. =item * $name (string) 
  75.  
  76. =item * $nick (string) 
  77.  
  78. =item * $blurb (string) 
  79.  
  80. =item * $minimum (unsigned) 
  81.  
  82. =item * $maximum (unsigned) 
  83.  
  84. =item * $default_value (unsigned) 
  85.  
  86. =item * $flags (Glib::ParamFlags) 
  87.  
  88. =back
  89.  
  90. =head2 string = $pspec-E<gt>B<get_blurb> 
  91.  
  92. =head2 paramspec = Glib::ParamSpec-E<gt>B<boolean> ($name, $nick, $blurb, $default_value, $flags)
  93.  
  94. =over
  95.  
  96. =item * $name (string) 
  97.  
  98. =item * $nick (string) 
  99.  
  100. =item * $blurb (string) 
  101.  
  102. =item * $default_value (boolean) 
  103.  
  104. =item * $flags (Glib::ParamFlags) 
  105.  
  106. =back
  107.  
  108. =head2 paramspec = Glib::ParamSpec-E<gt>B<boxed> ($name, $nick, $blurb, $package, $flags)
  109.  
  110. =over
  111.  
  112. =item * $name (string) 
  113.  
  114. =item * $nick (string) 
  115.  
  116. =item * $blurb (string) 
  117.  
  118. =item * $package (string) name of the class, derived from Glib::Boxed, of the objects this property will hold.
  119.  
  120. =item * $flags (Glib::ParamFlags) 
  121.  
  122. =back
  123.  
  124.  
  125.  
  126. =head2 paramspec = Glib::ParamSpec-E<gt>B<char> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  127.  
  128. =over
  129.  
  130. =item * $name (string) 
  131.  
  132. =item * $nick (string) 
  133.  
  134. =item * $blurb (string) 
  135.  
  136. =item * $minimum (integer) 
  137.  
  138. =item * $maximum (integer) 
  139.  
  140. =item * $default_value (integer) 
  141.  
  142. =item * $flags (Glib::ParamFlags) 
  143.  
  144. =back
  145.  
  146. =head2 paramspec = Glib::ParamSpec-E<gt>B<double> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  147.  
  148. =over
  149.  
  150. =item * $name (string) 
  151.  
  152. =item * $nick (string) 
  153.  
  154. =item * $blurb (string) 
  155.  
  156. =item * $minimum (double) 
  157.  
  158. =item * $maximum (double) 
  159.  
  160. =item * $default_value (double) 
  161.  
  162. =item * $flags (Glib::ParamFlags) 
  163.  
  164. =back
  165.  
  166. =head2 paramspec = Glib::ParamSpec-E<gt>B<enum> ($name, $nick, $blurb, $enum_type, $default_value, $flags)
  167.  
  168. =over
  169.  
  170. =item * $name (string) 
  171.  
  172. =item * $nick (string) 
  173.  
  174. =item * $blurb (string) 
  175.  
  176. =item * $enum_type (string) 
  177.  
  178. =item * $default_value (scalar) 
  179.  
  180. =item * $flags (Glib::ParamFlags) 
  181.  
  182. =back
  183.  
  184. =head2 paramspec = Glib::ParamSpec-E<gt>B<flags> ($name, $nick, $blurb, $flags_type, $default_value, $flags)
  185.  
  186. =over
  187.  
  188. =item * $name (string) 
  189.  
  190. =item * $nick (string) 
  191.  
  192. =item * $blurb (string) 
  193.  
  194. =item * $flags_type (string) 
  195.  
  196. =item * $default_value (scalar) 
  197.  
  198. =item * $flags (Glib::ParamFlags) 
  199.  
  200. =back
  201.  
  202. =head2 paramflags = $pspec-E<gt>B<get_flags> 
  203.  
  204. =head2 paramspec = Glib::ParamSpec-E<gt>B<float> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  205.  
  206. =over
  207.  
  208. =item * $name (string) 
  209.  
  210. =item * $nick (string) 
  211.  
  212. =item * $blurb (string) 
  213.  
  214. =item * $minimum (double) 
  215.  
  216. =item * $maximum (double) 
  217.  
  218. =item * $default_value (double) 
  219.  
  220. =item * $flags (Glib::ParamFlags) 
  221.  
  222. =back
  223.  
  224. =head2 paramspec = Glib::ParamSpec-E<gt>B<int> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  225.  
  226. =over
  227.  
  228. =item * $name (string) 
  229.  
  230. =item * $nick (string) 
  231.  
  232. =item * $blurb (string) 
  233.  
  234. =item * $minimum (integer) 
  235.  
  236. =item * $maximum (integer) 
  237.  
  238. =item * $default_value (integer) 
  239.  
  240. =item * $flags (Glib::ParamFlags) 
  241.  
  242. =back
  243.  
  244. =head2 paramspec = Glib::ParamSpec-E<gt>B<int64> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  245.  
  246. =over
  247.  
  248. =item * $name (string) 
  249.  
  250. =item * $nick (string) 
  251.  
  252. =item * $blurb (string) 
  253.  
  254. =item * $minimum (Glib::Int64) 
  255.  
  256. =item * $maximum (Glib::Int64) 
  257.  
  258. =item * $default_value (Glib::Int64) 
  259.  
  260. =item * $flags (Glib::ParamFlags) 
  261.  
  262. =back
  263.  
  264. =head2 paramspec = Glib::ParamSpec-E<gt>B<long> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  265.  
  266. =over
  267.  
  268. =item * $name (string) 
  269.  
  270. =item * $nick (string) 
  271.  
  272. =item * $blurb (string) 
  273.  
  274. =item * $minimum (integer) 
  275.  
  276. =item * $maximum (integer) 
  277.  
  278. =item * $default_value (integer) 
  279.  
  280. =item * $flags (Glib::ParamFlags) 
  281.  
  282. =back
  283.  
  284. =head2 string = $paramspec->B<get_name>
  285.  
  286.  
  287.  
  288. Dashes in the name are converted to underscores.
  289.  
  290.  
  291. =head2 string = $pspec-E<gt>B<get_nick> 
  292.  
  293. =head2 paramspec = Glib::ParamSpec-E<gt>B<object> ($name, $nick, $blurb, $package, $flags)
  294.  
  295. =over
  296.  
  297. =item * $name (string) 
  298.  
  299. =item * $nick (string) 
  300.  
  301. =item * $blurb (string) 
  302.  
  303. =item * $package (string) name of the class, derived from Glib::Object, of the objects this property will hold.
  304.  
  305. =item * $flags (Glib::ParamFlags) 
  306.  
  307. =back
  308.  
  309.  
  310.  
  311. =head2 string = $pspec-E<gt>B<get_owner_type> 
  312.  
  313. =head2 paramspec = Glib::ParamSpec-E<gt>B<param_spec> ($name, $nick, $blurb, $package, $flags)
  314.  
  315. =over
  316.  
  317. =item * $name (string) 
  318.  
  319. =item * $nick (string) 
  320.  
  321. =item * $blurb (string) 
  322.  
  323. =item * $package (string) name of the class, derived from Glib::ParamSpec, of the objects this property will hold.
  324.  
  325. =item * $flags (Glib::ParamFlags) 
  326.  
  327. =back
  328.  
  329.  
  330.  
  331. =head2 paramspec = Glib::ParamSpec-E<gt>B<scalar> ($name, $nick, $blurb, $flags)
  332.  
  333. =over
  334.  
  335. =item * $name (string) 
  336.  
  337. =item * $nick (string) 
  338.  
  339. =item * $blurb (string) 
  340.  
  341. =item * $flags (Glib::ParamFlags) 
  342.  
  343. =back
  344.  
  345. ParamSpec to be used for any generic perl scalar, including references to
  346. complex objects.
  347.  
  348. =head2 paramspec = Glib::ParamSpec-E<gt>B<string> ($name, $nick, $blurb, $default_value, $flags)
  349.  
  350. =over
  351.  
  352. =item * $name (string) 
  353.  
  354. =item * $nick (string) 
  355.  
  356. =item * $blurb (string) 
  357.  
  358. =item * $default_value (string) 
  359.  
  360. =item * $flags (Glib::ParamFlags) 
  361.  
  362. =back
  363.  
  364. =head2 paramspec = Glib::ParamSpec-E<gt>B<uchar> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  365.  
  366. =over
  367.  
  368. =item * $name (string) 
  369.  
  370. =item * $nick (string) 
  371.  
  372. =item * $blurb (string) 
  373.  
  374. =item * $minimum (unsigned) 
  375.  
  376. =item * $maximum (unsigned) 
  377.  
  378. =item * $default_value (unsigned) 
  379.  
  380. =item * $flags (Glib::ParamFlags) 
  381.  
  382. =back
  383.  
  384. =head2 paramspec = Glib::ParamSpec-E<gt>B<uint> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  385.  
  386. =over
  387.  
  388. =item * $name (string) 
  389.  
  390. =item * $nick (string) 
  391.  
  392. =item * $blurb (string) 
  393.  
  394. =item * $minimum (unsigned) 
  395.  
  396. =item * $maximum (unsigned) 
  397.  
  398. =item * $default_value (unsigned) 
  399.  
  400. =item * $flags (Glib::ParamFlags) 
  401.  
  402. =back
  403.  
  404. =head2 paramspec = Glib::ParamSpec-E<gt>B<uint64> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  405.  
  406. =over
  407.  
  408. =item * $name (string) 
  409.  
  410. =item * $nick (string) 
  411.  
  412. =item * $blurb (string) 
  413.  
  414. =item * $minimum (Glib::UInt64) 
  415.  
  416. =item * $maximum (Glib::UInt64) 
  417.  
  418. =item * $default_value (Glib::UInt64) 
  419.  
  420. =item * $flags (Glib::ParamFlags) 
  421.  
  422. =back
  423.  
  424. =head2 paramspec = Glib::ParamSpec-E<gt>B<ulong> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  425.  
  426. =over
  427.  
  428. =item * $name (string) 
  429.  
  430. =item * $nick (string) 
  431.  
  432. =item * $blurb (string) 
  433.  
  434. =item * $minimum (unsigned) 
  435.  
  436. =item * $maximum (unsigned) 
  437.  
  438. =item * $default_value (unsigned) 
  439.  
  440. =item * $flags (Glib::ParamFlags) 
  441.  
  442. =back
  443.  
  444. =head2 paramspec = Glib::ParamSpec-E<gt>B<unichar> ($name, $nick, $blurb, $default_value, $flags)
  445.  
  446. =over
  447.  
  448. =item * $name (string) 
  449.  
  450. =item * $nick (string) 
  451.  
  452. =item * $blurb (string) 
  453.  
  454. =item * $default_value (character) 
  455.  
  456. =item * $flags (Glib::ParamFlags) 
  457.  
  458. =back
  459.  
  460. =head2 string = $pspec-E<gt>B<get_value_type> 
  461.  
  462. =head2 bool = $paramspec->B<value_validate> ($value)
  463.  
  464. =head2 (bool, newval) = $paramspec->B<value_validate> ($value)
  465.  
  466. =over
  467.  
  468. =item * $value (scalar) 
  469.  
  470. =back
  471.  
  472. In scalar context return true if $value must be modified to be valid
  473. for $paramspec, or false if it's valid already.  In array context
  474. return also a new value which is $value made valid.
  475.  
  476. $value must be the right type for $paramspec (with usual stringizing,
  477. numizing, etc).  C<value_validate> checks the further restrictions
  478. such as minimum and maximum for a numeric type or allowed characters
  479. in a string.  The "made valid" return is then for instance clamped to
  480. the min/max, or offending chars replaced by a substitutor.
  481.  
  482. =head2 integer = $pspec-E<gt>B<values_cmp> ($value1, $value2)
  483.  
  484. =over
  485.  
  486. =item * $value1 (scalar) 
  487.  
  488. =item * $value2 (scalar) 
  489.  
  490. =back
  491.  
  492. Compares I<value1> with I<value2> according to I<pspec>, and returns -1, 0 or
  493. +1, if value1 is found to be less than, equal to or greater than value2,
  494. respectively.
  495.  
  496.  
  497.  
  498. =cut
  499.  
  500.  
  501. =head1 ENUMS AND FLAGS
  502.  
  503. =head2 flags Glib::ParamFlags
  504.  
  505.  
  506.  
  507. =over
  508.  
  509. =item * 'readable' / 'G_PARAM_READABLE'
  510.  
  511. =item * 'writable' / 'G_PARAM_WRITABLE'
  512.  
  513. =item * 'construct' / 'G_PARAM_CONSTRUCT'
  514.  
  515. =item * 'construct-only' / 'G_PARAM_CONSTRUCT_ONLY'
  516.  
  517. =item * 'lax-validation' / 'G_PARAM_LAX_VALIDATION'
  518.  
  519. =item * 'private' / 'G_PARAM_PRIVATE'
  520.  
  521. =back
  522.  
  523.  
  524.  
  525.  
  526. =cut
  527.  
  528.  
  529. =head1 SEE ALSO
  530.  
  531. L<Glib>
  532.  
  533.  
  534. =cut
  535.  
  536.  
  537. =head1 COPYRIGHT
  538.  
  539. Copyright (C) 2003-2009 by the gtk2-perl team.
  540.  
  541. This software is licensed under the LGPL.  See L<Glib> for a full notice.
  542.  
  543.  
  544.  
  545. =cut
  546.  
  547.